package com.gxa.mapper;

import com.gxa.entity.SysDepartment;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysDepartmentMapper {
    /**
     * 获取所有的部门信息
     * @return 部门信息的List集合
     */
    List<SysDepartment> selectAllDept();

    /**
     * 根据部门的ID获取部门信息
     * @param id 部门的ID
     * @return 部门的所有信息
     */
    SysDepartment getDepartmentById(@Param("id") Integer id);

    /**
     * 根据部门id修改部门信息
     * @param sysDepartment 部门实体
     * @return 影响行数
     */
    int updateDeptById(SysDepartment sysDepartment);

    /**
     * 添加部门信息
     * @param sysDepartment 部门实体
     * @return 影响行数
     */
    int addDepartment(SysDepartment sysDepartment);

    /**
     * 根据部门编号修改部门排序
     * @param id 部门id
     * @return 影响行数
     */
    int addSortById(Integer id);

    /**
     * 根据部门编号修改部门排序
     * @param id 部门id
     * @return 影响行数
     */
    int subSortById(Integer id);

    int delDeptById(@Param("depId") Integer depId);



    List<SysDepartment> findDepartmentByName(@Param("depName")String depName);

    Integer countAllDept(@Param("depId")Integer depId);

}
